package com.mrogrape.gui.event;

import java.util.HashMap;
import java.util.Map;

import com.mrogrape.gui.WizardPageContainer;


/**
 * 用于在不同的页面（Page）之间传递值的类。
 * 
 * @author Ice Spring
 * @version 1.0.0 201211121135u1
 */
public class WizardPageData {

	/**
	 * 获取此页面数据对象所归属的容器对象。
	 * 
	 * @return 此页面数据对象所归属的容器对象
	 */ 
	public WizardPageContainer getContainer() {
		return this.container;
	}

	/**
	 * 设置此页面数据对象所归属的容器对象
	 * 
	 * @param container 此页面数据对象所归属的容器对象
	 */
	public void setContainer(WizardPageContainer container) {
		this.container = container;
	}

	/**
	 * 获取第一个页面的完整类名。
	 * 
	 * @return 第一个页面的完整类名。
	 */
	public String getFirstPageClassName() {

		return this.firstPageClassName;
	}

	/**
	 * 设置第一个页面的完整类名
	 * 
	 * @param firstPageClassName 设置第一个页面的完整类名
	 */
	public void setFirstPageClassName(String firstPageClassName) {

		this.firstPageClassName = firstPageClassName;
	}

	/**
	 * 放置Object类型数据。
	 * 
	 * @param key 键
	 * @param value 值
	 */
	public void putObject(String key, Object value){

		this.property.put(key, value);
	}

	/**
	 * 根据键获取Object类型数据。
	 * 
	 * @param key 键
	 * @return 键对应的值，不存在则返回null;
	 */
	public Object getObject(String key){

		return this.property.get(key);
	}

	private WizardPageContainer container;
	private String firstPageClassName;
	private Map<String, Object> property = new HashMap<String, Object>();
}
